/*
 * LogLevelEnum.h
 *
 */

#ifndef LOGLEVELENUM_H_
#define LOGLEVELENUM_H_

#include <iostream>
#include "color.h"
#include "../common/Object.h"

class LogLevelEnum: public Object
{
public:
	static const int TRACE=0;
	static const int DEBUG=1;
	static const int INFO=2;
	static const int WARN=3;
	static const int ERROR=4;
	static const int FATAL=5;
	static const int OFF=6;

	static const std::string TRACE_TEXT;
	static const std::string DEBUG_TEXT;
	static const std::string INFO_TEXT;
	static const std::string WARN_TEXT;
	static const std::string ERROR_TEXT;
	static const std::string FATAL_TEXT;
	static const std::string OFF_TEXT;

public:
	int m_Level;

public:
	LogLevelEnum();
	virtual ~LogLevelEnum();
	std::string extractString();
	static std::string toString(int value);
	static ColorCode toColor(int value);
};



#endif /* LOGLEVELENUM_H_ */
